A robot, as the term is used herein, is an electromechanical machine that includes computer hardware and software that causes the robot to perform functions independently and without assistance from a human. Exemplary robots that are now commercially available include robotic vacuum cleaners and lawnmowers. For example, a conventional commercially available robotic vacuum cleaner includes computer-executable instructions that, when executed by a processor of the robotic vacuum cleaner, cause the robotic vacuum cleaner to automatically vacuum a particular area (e.g., a room) based upon inputs received from sensors of the robotic vacuum cleaner. A conventional commercially available robotic lawnmower is configured with computer-executable instructions that, when executed by a processor of the robotic lawnmower, cause such robotic lawnmower to automatically, and without human intervention, cut grass in a particular region (e.g., a homeowner's backyard).
Over time, it can be expected that mobile robots that are configured to perform specified tasks will be relatively commonplace. Currently, commercially available robots, in both industrial and domestic environments, are hard-coded to perform certain actions responsive to receiving sensor input. For example, if a sensor on the robotic lawnmower detects an impediment, such as a human being, in its path, computer-executable code for the robotic lawnmower written by a developer causes the robotic lawnmower to stop and/or change direction. Conventional robotic devices, however, are ill-equipped for handling more complex scenarios.